#include <algorithm>
#include <functional>
#include <vector>
using namespace std;

void rotate(vector<int> &nums, int k) {
  int n = nums.size();
  vector<int> res(n, 0);
  // 每个元素向右移动的偏移量
  int t = (k + n) % n;
  for (int i = 0; i < n; i++) {
    int pos = (i + t) % n;
    res[pos] = nums[i];
  }
  nums.swap(res);
}

int main() {
  vector<int> nusm{1, 2, 3, 4, 5, 6, 7};
  rotate(nusm, 3);

  return 0;
}